package com.yc.cloud.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.admin.dto.request.AlarmRecordCreateReqDTO;
import com.yc.cloud.admin.dto.request.AlarmRecordHandleReqDTO;
import com.yc.cloud.admin.dto.request.AlarmRecordUpdateReqDTO;
import com.yc.cloud.admin.dto.request.AlarmRecordUploadReqDTO;
import com.yc.cloud.admin.vo.AlarmRecordVo;
import com.yc.cloud.common.basic.dto.BasePageReqDTO;
import com.yc.cloud.common.orm.CommonPage;
import com.yc.cloud.entity.AlarmRecord;

import java.util.List;

/**
 * <p>
 * 告警事件记录表 服务类
 * </p>
 *
 * @author kinggu
 * @since 2025-07-16
 */
public interface AlarmRecordService extends IService<AlarmRecord> {

    boolean create(AlarmRecordCreateReqDTO createReqDTO);

    boolean update(AlarmRecordUpdateReqDTO updateReqDTO);

    CommonPage<AlarmRecordVo> list(BasePageReqDTO pageReqDTO, com.yc.cloud.admin.dto.request.AlarmRecordListParam param);

    AlarmRecordVo getVOById(Long id);

    List<AlarmRecordVo> convertToVoList(List<AlarmRecord> entityList);

    AlarmRecord get(Long id);

    boolean delete(Long id);




    /**
     * 处理告警记录
     * @param id 告警记录ID
     * @param handleReqDTO 处理请求DTO
     * @return 是否成功
     */
    boolean handle(Long id, AlarmRecordHandleReqDTO handleReqDTO);
}
